package com.tsmti.lab.entity;

import com.tsmti.core.common.entity.BaseDataEntity;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Where;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.sql.Time;
import java.util.Date;
import java.util.Objects;

/**
 * @auther ShiYan.Shi
 * @create 2018/11/14   23:59
 */
@Entity
@Table(name = "PIMS_PATHOLOGY_PIECES")
@Where(clause = "delFlag = 0")
@DynamicUpdate
@DynamicInsert
public class PimsPathologyPieces extends BaseDataEntity<Long> {
    //材块id
    private Long id;
    //标本id
    private Long pieSampleId;
    //病理编号
    private String piePathologyCode;
    //取材序号
    private String pieSamplingNo;
    //取材部位
    private String pieParts;
    //组织块数
    private Long pieCounts;
    //材块编号
    private String pieCode;
    //特殊要求
    private String pieSpecial;
    //预留白片数
    private Long pieNullSlideNum;
    //状态(0保存1取材2包埋)
    private Long pieState;
    //取材时间
    private Date pieSamplingTime;
    //取材医生id
    private Long pieDoctorId;
    //取材医生姓名
    private String pieDoctorName;
    //记录员id
    private Long pieRecorderId;
    //记录员姓名
    private String pieRecorderName;
    //是否脱水
    private Long pieIsDeprivation;
    //脱水时间
    private Date pieDeprivationTime;
    //包埋时间
    private Date pieEmbedTime;
    //包埋医生id
    private Long pieEmbedDoctorId;
    //包埋医生名字
    private String pieEmbedDoctorName;
    //是否补取
    private Long pieIsRepair;
    //补取医嘱id
    private Long pieOrderId;

    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PATHOLOGY_PIECES")
    @SequenceGenerator(name = "SEQ_PATHOLOGY_PIECES", sequenceName = "SEQ_PATHOLOGY_PIECES", allocationSize = 1)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "PIESAMPLEID")
    public Long getPieSampleId() {
        return pieSampleId;
    }

    public void setPieSampleId(Long pieSampleId) {
        this.pieSampleId = pieSampleId;
    }

    @Basic
    @Column(name = "PIEPATHOLOGYCODE")
    public String getPiePathologyCode() {
        return piePathologyCode;
    }

    public void setPiePathologyCode(String piePathologyCode) {
        this.piePathologyCode = piePathologyCode;
    }

    @Basic
    @Column(name = "PIESAMPLINGNO")
    public String getPieSamplingNo() {
        return pieSamplingNo;
    }

    public void setPieSamplingNo(String pieSamplingNo) {
        this.pieSamplingNo = pieSamplingNo;
    }

    @Basic
    @Column(name = "PIEPARTS")
    public String getPieParts() {
        return pieParts;
    }

    public void setPieParts(String pieParts) {
        this.pieParts = pieParts;
    }

    @Basic
    @Column(name = "PIECOUNTS")
    public Long getPieCounts() {
        return pieCounts;
    }

    public void setPieCounts(Long pieCounts) {
        this.pieCounts = pieCounts;
    }

    @Basic
    @Column(name = "PIECODE")
    public String getPieCode() {
        return pieCode;
    }

    public void setPieCode(String pieCode) {
        this.pieCode = pieCode;
    }

    @Basic
    @Column(name = "PIESPECIAL")
    public String getPieSpecial() {
        return pieSpecial;
    }

    public void setPieSpecial(String pieSpecial) {
        this.pieSpecial = pieSpecial;
    }

    @Basic
    @Column(name = "PIENULLSLIDENUM")
    public Long getPieNullSlideNum() {
        return pieNullSlideNum;
    }

    public void setPieNullSlideNum(Long pieNullSlideNum) {
        this.pieNullSlideNum = pieNullSlideNum;
    }

    @Basic
    @Column(name = "PIESTATE")
    public Long getPieState() {
        return pieState;
    }

    public void setPieState(Long pieState) {
        this.pieState = pieState;
    }

    @Basic
    @Column(name = "PIESAMPLINGTIME")
    public Date getPieSamplingTime() {
        return pieSamplingTime;
    }

    public void setPieSamplingTime(Date pieSamplingTime) {
        this.pieSamplingTime = pieSamplingTime;
    }

    @Basic
    @Column(name = "PIEDOCTORID")
    public Long getPieDoctorId() {
        return pieDoctorId;
    }

    public void setPieDoctorId(Long pieDoctorId) {
        this.pieDoctorId = pieDoctorId;
    }

    @Basic
    @Column(name = "PIEDOCTORNAME")
    public String getPieDoctorName() {
        return pieDoctorName;
    }

    public void setPieDoctorName(String pieDoctorName) {
        this.pieDoctorName = pieDoctorName;
    }

    @Basic
    @Column(name = "PIERECORDERID")
    public Long getPieRecorderId() {
        return pieRecorderId;
    }

    public void setPieRecorderId(Long pieRecorderId) {
        this.pieRecorderId = pieRecorderId;
    }

    @Basic
    @Column(name = "PIERECORDERNAME")
    public String getPieRecorderName() {
        return pieRecorderName;
    }

    public void setPieRecorderName(String pieRecorderName) {
        this.pieRecorderName = pieRecorderName;
    }

    @Basic
    @Column(name = "PIEISDEPRIVATION")
    public Long getPieIsDeprivation() {
        return pieIsDeprivation;
    }

    public void setPieIsDeprivation(Long pieIsDeprivation) {
        this.pieIsDeprivation = pieIsDeprivation;
    }

    @Basic
    @Column(name = "PIEDEPRIVATIONTIME")
    public Date getPieDeprivationTime() {
        return pieDeprivationTime;
    }

    public void setPieDeprivationTime(Date pieDeprivationTime) {
        this.pieDeprivationTime = pieDeprivationTime;
    }

    @Basic
    @Column(name = "PIEEMBEDTIME")
    public Date getPieEmbedTime() {
        return pieEmbedTime;
    }

    public void setPieEmbedTime(Date pieEmbedTime) {
        this.pieEmbedTime = pieEmbedTime;
    }

    @Basic
    @Column(name = "PIEEMBEDDOCTORID")
    public Long getPieEmbedDoctorId() {
        return pieEmbedDoctorId;
    }

    public void setPieEmbedDoctorId(Long pieEmbedDoctorId) {
        this.pieEmbedDoctorId = pieEmbedDoctorId;
    }

    @Basic
    @Column(name = "PIEEMBEDDOCTORNAME")
    public String getPieEmbedDoctorName() {
        return pieEmbedDoctorName;
    }

    public void setPieEmbedDoctorName(String pieEmbedDoctorName) {
        this.pieEmbedDoctorName = pieEmbedDoctorName;
    }

    @Basic
    @Column(name = "PIEISREPAIR")
    public Long getPieIsRepair() {
        return pieIsRepair;
    }

    public void setPieIsRepair(Long pieIsRepair) {
        this.pieIsRepair = pieIsRepair;
    }

    @Basic
    @Column(name = "PIEORDERID")
    public Long getPieOrderId() {
        return pieOrderId;
    }

    public void setPieOrderId(Long pieOrderId) {
        this.pieOrderId = pieOrderId;
    }


}
